package com.ruoyi.train.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.train.domain.ExamApplication;
import com.ruoyi.train.domain.StudentInformation;
import com.ruoyi.train.domain.Vo.ExamApplicationVo;
import com.ruoyi.train.domain.Vo.StudentInformationVo;

/**
 * 提交考试申请Service接口
 * 
 * @author wusihao
 * @date 2023-03-26
 */
public interface IExamApplicationService extends IService<ExamApplication>
{
    /**
     * 查询提交考试申请
     * 
     * @param id 提交考试申请主键
     * @return 提交考试申请
     */
    public ExamApplication selectExamApplicationById(Long id);

    /**
     * 查询提交考试申请列表
     * 
     * @param examApplication 提交考试申请
     * @return 提交考试申请集合
     */
    public List<ExamApplication> selectExamApplicationList(ExamApplication examApplication);

    /**
     * 新增提交考试申请
     * 
     * @param examApplication 提交考试申请
     * @return 结果
     */
    public int insertExamApplication(ExamApplication examApplication);


    /**
     * 批量删除提交考试申请
     * 
     * @param ids 需要删除的提交考试申请主键集合
     * @return 结果
     */
    public int deleteExamApplicationByIds(Long[] ids);

    /**
     * 删除提交考试申请信息
     * 
     * @param id 提交考试申请主键
     * @return 结果
     */
    public int deleteExamApplicationById(Long id);




    List<ExamApplicationVo> selectExamApplicationVoList(ExamApplicationVo examApplicationVo);

    // 提交考试申请
    int submitExamApplication1(Long examApplicationId);

    List<ExamApplicationVo> selectadminExamApplicationVoList(ExamApplicationVo examApplicationVo);

    List<ExamApplicationVo> selectfuzerenExamApplicationVoList(ExamApplicationVo examApplicationVo);

    // 经办人提交考试申请
    int jingbanrenSubmitExamApplication(ExamApplication examApplication);

    // 负责人提交考试申请
    int fuzerenSubmitExamApplcation(ExamApplication examApplication);

    List<ExamApplicationVo> selectkaoshijigouExamApplicationVoList(ExamApplicationVo examApplicationVo);

    // 查询缴费页面列表
    List<ExamApplicationVo> selectPaymentVoList(ExamApplicationVo examApplicationVo);

    List<ExamApplicationVo> selectExamApplicationVoImportList(ExamApplicationVo examApplicationVo);

    // 添加到考试合格申请
    int addToExamCertificateApplication(Long applicationId);


    // 通过考试申请表id查询考试申请表Vo
    ExamApplicationVo selectExamApplicationVoById(Long id);

    //提交考试申请，输入考试申请表基本信息
    int uploadExamApplication(ExamApplication examApplication);

    // 盖章1考试申请表
    int gaizhang1Application(Long applicationId);

    // 修改考试点录入成绩
    int updateExamPlacegetGrade(ExamApplication examApplication);

}
